package com.jhy.new2025.stack;

import java.util.Stack;

/**
 * "abbaca"
 * ca
 */
public class RemoveDuplicates {

    public static String removeDuplicates(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            char at = s.charAt(i);
            // 这里写错了 不应该判断是否包含关系 而是前面一个数字
            // 第二个就是这样的问题 不能用i-1
            // 后面改用了pop了 不能用i-1 因为位置是可以变化的 只能取上次栈顶的元素
            if (!stack.isEmpty() && (at == stack.peek())) {
                stack.pop();
                continue;
            }
            stack.push(at);
        }
        if (stack.isEmpty()) return "";
        StringBuilder builder = new StringBuilder();
        for (Character character : stack) {
            builder.append(character);
        }
        return builder.toString();
    }

    public static void main(String[] args) {
        String test = "aababaab";
        String s = removeDuplicates(test);
        System.out.println(s);
    }
}
